package com.sinog.front.feign.biz;

import com.sinog.core.utilbean.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;

/**
 * @desc 户籍迁入迁出feign
 * @author sunsf
 * @date 2020-02-07-14:06
 */
@FeignClient("sinog2c-biz")
public interface BjdxMvInfoService {

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 户籍迁入人员管理 - 列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param querykey querykey
     * @param departid departid
     * @param level level
     * @param orgid orgid
     * @param sortField 排序字段
     * @param sortOrder 排序方式
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/hjqrrygl/list")
    String getHjqrglList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,
            @RequestParam(value = "querykey", required = false) String querykey,
            @RequestParam(value = "departid", required = false) String departid,
            @RequestParam(value = "level", required = false) int level,
            @RequestParam(value = "orgid", required = false) String orgid,
            @RequestParam(value = "sortField", required = false) String sortField,
            @RequestParam(value = "sortOrder", required = false) String sortOrder);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 户籍迁出人员管理 - 列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param querykey querykey
     * @param departid departid
     * @param level level
     * @param orgid orgid
     * @param sortField 排序字段
     * @param sortOrder 排序方式
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/hjqcrygl/list")
    String getHjqcglList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,
            @RequestParam(value = "querykey", required = false) String querykey,
            @RequestParam(value = "departid", required = false) String departid,
            @RequestParam(value = "level", required = false) int level,
            @RequestParam(value = "orgid", required = false) String orgid,
            @RequestParam(value = "sortField", required = false) String sortField,
            @RequestParam(value = "sortOrder", required = false) String sortOrder);

    /**
     * 获取户籍迁出人员信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/hjqrrygl/getMvBaseInfoByPriNum")
    Result getMvBaseInfoByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 户籍迁出人员管理 - 迁移办理 - 姓名搜索
     * @param key key
     * @param departid departid
     * @param level level
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/bjdxInfo/hjqr/addPrisonerMv/getPrisonerList")
    List<Map<String,Object>> getPrisonerList(
            @RequestParam(value = "key", required = false) String key,
            @RequestParam(value = "departid", required = false) String departid,
            @RequestParam(value = "level", required = false) int level);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 户籍迁入人员管理 - 审核页面 - 保存
     * @param dataStr dataStr
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqr/addPrisonerMv/saveBaseInfo")
    Result saveBaseInfo(@RequestParam(value = "dataStr", required = false) String dataStr);

    /**
     * 户籍迁出、双列管信息 - 查看 - 基本信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getBaseInfoViewByPriNum")
    Result getBaseInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 多媒体信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getDmtInfoViewByPriNum")
    Result getDmtInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 服刑信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getFxInfoViewByPriNum")
    Result getFxInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 核查记录信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getHcjlInfoViewByPriNum")
    Result getHcjlInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 档案材料信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getDaclInfoViewByPriNum")
    Result getDaclInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 安置帮教信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getAzbjInfoViewByPriNum")
    Result getAzbjInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 户籍迁出信息 - 查看 - 双列管信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getSlgInfoViewByPriNum")
    Result getSlgInfoViewByPriNum(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教对象信息管理 - 户籍迁出人员管理 - 撤回
     * @param id id
     * @param state 审批状态:0:司法所迁出撤回；1:迁出审批中；2:迁出审批成功；3:迁出审批失败；4:司法所迁入撤回；5:迁入审批中；6:迁入审批成功；7:迁入审批失败；
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/toRevoke")
    Result toRevoke(
            @RequestParam(value = "id", required = false) String id,
            @RequestParam(value = "state", required = false) String state);

    /**
     * 户籍迁出信息 - 获取迁移信息
     * @param id id
     * @return Result
     */
    @RequestMapping("/azbj/bjdxInfo/hjqc/View/getMvInfoById")
    Result getMvInfoById(@RequestParam(value = "id", required = false) String id);

    /**
     * 户籍迁出、迁入 - 查看
     * @param id id
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/hjqrrygl/getMvBaseInfoForCheck")
    Result getMvBaseInfoForCheck(@RequestParam(value = "id", required = false) String id);
}